home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1983-02-22 | 5.9 KB | 217 lines
10 CLS:KEY OFF:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT 20 PRINT " L U N A R" 30 PRINT 40 PRINT " L A N D E R" 50 PRINT:PRINT 60 PRINT TAB(25);"LUNAR LANDING SIMULATION" 70 PRINT CHR$(7) 80 PRINT TAB(15);"-------HOUSTON CALLING LUNAR MODULE-------" 90 PRINT TAB(15); 100 PRINT TAB(15);"YOU MAY SET THE FUEL RATE (K) TO ZERO OR ANY VALUE" 110 PRINT TAB(15);"BETWEEN 8 AND 200 LBS PER SECOND. A NEGATIVE FUEL" 120 PRINT TAB(15);"RATE WILL ABORT THE MISSION." 130 PRINT 140 PRINT TAB(15);"YOU HAVE 16000 LBS OF FUEL." 150 PRINT TAB(15);"ESTIMATED FREE FALL IMPACT TIME IS 120 SECONDS." 160 PRINT TAB(15);"CAPSULE WEIGHT IS 32,500 LBS." 170 PRINT 180 PRINT TAB(20);"FIRST RADAR CHECK COMING UP..." 190 PRINT TAB(20);"BEGIN LANDING PROCEDURE" :PRINT:PRINT 200 PRINT "TIME(SECS)","HEIGHT(MI)","VELOCITY(MPH)","FUEL(LBS)","FUEL RATE" 210 LET L=0:LET A=120:LET V=1:LET M=32500:LET N=16500 220 LET G=0.000999999:LET Z=1.8 230 PRINT INT(L+0.5),A,V*3600,M-N,"K "; 240 INPUT K 250 LET T=10 260 IF K<0 THEN GOTO 630 270 IF K=0 THEN GOTO 320 280 IF K<8 THEN 300 290 IF K<=200 THEN GOTO 320 300 PRINT TAB(9);"INVALID BURN RATE - RETRY";TAB(57);"K "; 310 INPUT K: GOTO 260 320 IF M-N-0.000999999 <0 THEN GOTO 440 330 IF T<0.000999999 THEN GOTO 230 340 S=T 350 IF N +S*K <=M THEN GOTO 370 360 S=(M-N) /K 370 I0 =1 380 GOTO 900 390 IF I <=0 THEN GOTO 720 400 IF V <=0 THEN GOTO 420 410 IF J <0 THEN GOTO 780 420 I0=1 430 GOTO 690 440 REM 450 PRINT 460 PRINT "FUEL OUT AT " ;L;" SECS" 470 S=(-V+SQR(V*V+2*A*G))/G 480 V =V+G*S 490 L=L+S 500 REM 510 PRINT 520 PRINT TAB(10);"----------- 'THE EAGLE HAS LANDED!' -----------" 530 PRINT 540 PRINT TAB(10);"ON THE MOON AT ";L;" SECS" 550 W=3600*V 560 PRINT TAB(10);"IMPACT VELOCITY OF ";W;" MPH" 570 PRINT TAB(10);"FUEL LEFT "; M-N;" LBS" 580 IF W>=60 THEN GOSUB 1080 : GOTO 630 590 IF W>=25 THEN WWW=INT((W/5))-4 : GOSUB 2140 : GOTO 630 600 ON INT(W+0.5)+1 GOSUB 1340,1400,1440,1470,1500,1530,1560,1590,1620,1650,1680,1710,1740,1770,1800,1830,1860,1890,1920,1950,1980,2010,2040,2070,2100,2100 610 GOTO 630 620 PRINT "<ON> STMT ERROR" 630 REM 640 PRINT TAB(20);"TRY AGAIN? (Y OR N) "; 650 INPUT R$ 660 IF LEFT$(R$,1)="Y" THEN GOTO 170 670 IF LEFT$(R$,1)<>"N" THEN:PRINT TAB(20);"HOUSTON: 'I DIDN'T COPY. REPEAT'" : GOTO 630 680 PRINT:PRINT:PRINT TAB(10);"THIS IS HOUSTON SIGNING OFF":END 690 L=L+S:T=T-S:M=M-S*K:A=I:V=J 700 IF I0=1 THEN GOTO 320 710 IF I0=3 THEN GOTO 870 720 IF S<0.005 THEN GOTO 500 730 TEMP1=(G-Z*K/M) 740 TEMP=V*V+2*A*(TEMP1) 750 S=2*A/(V+SQR(TEMP)) 760 I0=2 770 GOTO 900 780 W=(1-M*G/(Z*K))/2 790 TEMP1=(W*W+V/Z) 800 TEMPT=(W+SQR(TEMP1)) 810 TEMPT2=(Z*K*(TEMPT)) 820 S=M*V/TEMPT2+0.05 830 I0=3 840 GOTO 900 850 IF I<=0 THEN GOTO 720 860 GOTO 690 870 IF J>=0 THEN GOTO 320 880 IF V<=0 THEN GOTO 320 890 GOTO 780 900 Q=S*K/M 910 IF Q<=0 THEN GOTO 1050 920 TEMP=(1/4+Q*(1/5)) 930 TEMP1=(1/3+Q*(TEMP)) 940 TEMP2=(1/2+Q*(TEMP1)) 950 TEMP3=(1+Q*(TEMP2)) 960 J=V+G*S+Z*(-Q*(TEMP3)) 970 TEMP=(1/20 +Q*(1/30)) 980 TEMP1=(1/6+Q*(1/12+Q*TEMP)) 990 TEMP2=(1/2+Q*(TEMP1)) 1000 TEMP3=(Q*(TEMP2)) 1010 I=A-G*S*S/2-V*S+Z*S*(TEMP3) 1020 IF I0=1 THEN GOTO 390 1030 IF I0=2 THEN GOTO 690 1040 IF I0=3 THEN GOTO 850 1050 J=V+G*S 1060 I=A-G*S*S/2-V*S 1070 GOTO 1020 1080 REM----- W>=60----- 1090 PRINT TAB(10);"SORRY, THERE WERE NO SURVIVORS" 1100 PRINT TAB(10);"IN FACT, YOU BLASTED A NEW LUNAR CRATER "; 1110 PRINT W*0.277777;" FEET DEEP!" 1120 RETURN 1130 REM----- 25<=W<30 1140 PRINT TAB(10);"UNSAFE LANDING WITH MINOR CRAFT DAMAGE" 1150 RETURN 1160 REM----- 30<=W<35 1170 PRINT TAB(10);"LANDING GEAR DAMAGED" 1180 RETURN 1190 REM----- 35<=W<40 1200 PRINT TAB(10);"DAMAGE SIGNIFICANT. UNABLE TO TAKE OFF" 1210 RETURN 1220 REM----- 40<=W<45 1230 PRINT TAB(10);"MAJOR DAMAGE. CREW INJURED." 1240 RETURN 1250 REM----- 45<=W<50 1260 PRINT TAB(10);"IMPACT SEVERE. CRAFT DESTROYED." 1270 RETURN 1280 REM----- 50<=W<55 1290 PRINT TAB(10);"LANDING CRAFT DISINTEGRATED ON IMPACT." 1300 RETURN 1310 REM----- 55<=W<60 1320 PRINT TAB(10);"TOTAL LOSS" 1330 RETURN 1340 REM----- 0<=W<.5 1350 PRINT CHR$(7);TAB(10);"----------------------------------------" 1360 PRINT TAB(10);" P E R F E C T !" 1370 PRINT CHR$(7);TAB(10);"----------------------------------------" 1380 PRINT 1390 RETURN 1400 REM----- .5<=W<1.5 1410 PRINT TAB(10);"G R E A T L A N D I N G" 1420 PRINT 1430 RETURN 1440 REM----- 1.5<=W<2.5 1450 PRINT TAB(10);"EXCELLENT LANDING, CAPTAIN" 1460 RETURN 1470 REM----- 2.5<=W<3.5 1480 PRINT TAB(10);"ONE OF THE BEST LANDINGS I'VE SEEN" 1490 RETURN 1500 REM----- 3.5<=W<4.5 1510 PRINT TAB(10);"VERY GOOD, SIR. ALMOST THERE" 1520 RETURN 1530 REM----- 4.5<=W<5.5 1540 PRINT TAB(10);"GOOD LANDING" 1550 RETURN 1560 REM----- 5.5<=W<6.5 1570 PRINT TAB(10);"SOFT LANDING" 1580 RETURN 1590 REM----- 6.5<=W<7.5 1600 PRINT TAB(10);"SOFT LANDING BUT THE CREW IS SHAKEN" 1610 RETURN 1620 REM----- 7.5<=W<8.5 1630 PRINT TAB(10);"OK LANDING BUT HOUSTON IS COMPLAINING" 1640 RETURN 1650 REM----- 8.5<=W<9.5 1660 PRINT TAB(10);"FENDER BENDER" 1670 RETURN 1680 REM----- 9.5<=W<10.5 1690 PRINT TAB(10);"ARE YOUR HANDS SWEATING?" 1700 RETURN 1710 REM----- 10.5<=W<11.5 1720 PRINT TAB(10);"WHEW. . . THAT WAS CLOSE!" 1730 RETURN 1740 REM----- 11.5<=W<12.5 1750 PRINT TAB(10);"GETTING BETTER" 1760 RETURN 1770 REM----- 12.5<=W<13.5 1780 PRINT TAB(10);"IMPACT VELOCITY APPROACHING SAFETY LIMITS" 1790 RETURN 1800 REM----- 13.5<=W<14.5 1810 PRINT TAB(10);"NEIL ARMSTRONG COULD DO BETTER" 1820 RETURN 1830 REM----- 14.5<=W<15.5 1840 PRINT TAB(10);"ANY FASTER AND THE PRESIDENT WON'T TELEPHONE YOU" 1850 RETURN 1860 REM----- 15.5<=W<16.5 1870 PRINT TAB(10);"HOUSTON: 'ARE YOU ALL RIGHT UP THERE?!?'" 1880 RETURN 1890 REM----- 16.5<=W<17.5 1900 PRINT TAB(10);"AT LEAST YOU MADE IT" 1910 RETURN 1920 REM----- 17.5<=W<18.5 1930 PRINT TAB(10);"WELL, THAT'S BETTER THAN THE RUSSIANS DID" 1940 RETURN 1950 REM----- 18.5<=W<19.5 1960 PRINT TAB(10);"POSSIBLE DAMAGE TO CRAFT" 1970 RETURN 1980 REM----- 19.5<=W<20.5 1990 PRINT TAB(10);"HOUSTON IS REVOKING YOUR PILOTS LICENSE" 2000 RETURN 2010 REM----- 20.5<=W<21.5 2020 PRINT TAB(10);"AFTER THAT IMPACT, THE LANDER WILL NEED AN OVERHAUL!" 2030 RETURN 2040 REM----- 21.5<=W<22.5 2050 PRINT TAB(10);"SCIENTIFIC PAYLOAD PACKAGE DAMAGED" 2060 RETURN 2070 REM----- 22.5<=W<23.5 2080 PRINT TAB(10);"EXTERNAL ANTENNA DID NOT SURVIVE THE IMPACT" 2090 RETURN 2100 REM----- 23.5<=W<24.5 2110 PRINT TAB(10);"EVA WILL REVEAL DAMAGE TO LANDING GEAR" 2120 RETURN 2130 PRINT:PRINT 2140 REM-----ON GOSUB 2150 ON WWW GOSUB 1130,1160,1190,1220,1250,1280,1310 2160 RETURN